package com.ideaaedi.commonds.rank;


/**
 * 排名flag
 *
 * @author <font size = "20" color = "#3CAA3C"><a href="https://gitee.com/JustryDeng">JustryDeng</a></font> <img src="https://gitee.com/JustryDeng/shared-files/raw/master/JustryDeng/avatar.jpg" />
 * @since 1.0.0
 */
public interface Rankable<T> extends Comparable<T>{
    
    /**
     * 是否参与排名
     *
     * @return true-参与；false-不参与
     */
    default boolean shouldJoinRank() {
        return true;
    }
    
    /**
     * 获取排名
     *
     * @return 排名
     */
    int obtainRank();
    
    /**
     * 填充排名
     *
     * @param rankValue
     *            排名值
     */
    void fillRank(int rankValue);
}
